/**
 * JAVACC DEMO 1.0
 * @copy right dwusoft company All rights reserved. 
 * @Package com.apache.bid.service.plugins  
 */
package com.apache.bid.service.plugins;

import java.util.List;

import org.apache.log4j.Logger;

import com.apache.api.manager.PluginConnector;
import com.apache.api.vo.ParamsVo;
import com.apache.api.vo.ResultEntity;
import com.apache.bid.common.WbdToolsUtil;
import com.apache.bid.entity.BidItemHistory;
import com.apache.cache.util.Validator;
import com.apache.database.db.IDao;
import com.apache.database.model.MethodParam;
import com.apache.database.model.Page;

/**
 * description:  获取itemHistory列表
 * @author mhguo 创建时间：2016-4-12  
 * 
 */
public class BidItemHistoryListPlugin implements PluginConnector {

	private IDao bidItemHistoryDao;
	private Logger logger = Logger.getLogger(BidItemHistoryListPlugin.class);

	/**
	 * TODO 简单描述该方法的实现功能（可选）.  
	 * @see com.zbxsoft.api.manager.PluginConnector#execute(com.zbxsoft.api.vo.ParamsVo)  
	 */
	@Override
	public Object execute(ParamsVo vo) throws Exception {
		ResultEntity result = new ResultEntity();
		try {
			result.setResult("true");
			//单独处理的特殊参数情况[暂无]
			//-------------------
			MethodParam param = setMethodParams(vo, 2, "");
			if (Validator.isEmpty(param)) {
				result.setResult("false");
				result.setMessage("查询条件为空!");
				return result;
			}
			int pageSize = Integer.valueOf(Validator.getDefaultStr(String.valueOf(vo.getParams("pageSize")), "0"));
			int pageIndex = Integer.valueOf(Validator.getDefaultStr(String.valueOf(vo.getParams("pageIndex")), "0"));
			param.setResultCache(false);
			String orderBy = Validator.getDefaultStr(String.valueOf(vo.getParams("orderBy")),
					" order by close_time desc ");
			param.setParams("orderBy", orderBy);
			if (pageSize == 0 && pageIndex == 0) {
				List list = bidItemHistoryDao.select(param);
				result.setEntity(list);
			} else {
				param.setPageIndex(pageIndex);
				param.setPageSize(pageSize);
				Page page = bidItemHistoryDao.pageSelect(param);
				result.setEntity(page);
			}
		} catch (Exception e) {
			result.setResult("false");
			logger.error("执行bidItemHistory查询失败 ", e);
			result.setMessage("bidItemHistory查询失败！");
		}
		return result;
	}

	private MethodParam setMethodParams(ParamsVo vo, int type, String orderBy) {
		MethodParam param = new MethodParam("ByProperty", "", "", BidItemHistory.class.getName());
		param.setResultCache(false);
		//		String all = String.valueOf(vo.getParams("bidItemHistoryAll"));//获取所有活动列表
		//		if (Validator.isNull(all)) {
		getBidItemHistoryParams(param, vo);
		//			if (Validator.isEmpty(param.getParams()) || param.getParams().size() == 0)
		//				return null;
		//		}
		return param;
	}

	//组织bidItemHistory信息查询条件
	private void getBidItemHistoryParams(MethodParam param, ParamsVo vo) {
		BidItemHistory bidItemHistory = new BidItemHistory();
		bidItemHistory = (BidItemHistory) WbdToolsUtil.getInstance().convert2Bean(vo.getParams(), bidItemHistory);
		if (Validator.isNotNull(bidItemHistory.getSessionId())) {
			param.setParams("sessionId", bidItemHistory.getSessionId());
		}
		if (Validator.isNotNull(bidItemHistory.getSessionType())) {
			param.setParams("sessionType", bidItemHistory.getSessionType());
		}
		if (Validator.isNotNull(bidItemHistory.getSessionName())) {
			param.setParams("sessionName", " like '%" + bidItemHistory.getSessionName() + "%' ");
		}
		if (Validator.isNotNull(bidItemHistory.getGroupId())) {
			param.setParams("groupId", bidItemHistory.getGroupId());
		}
		if (Validator.isNotNull(bidItemHistory.getGroupName())) {
			param.setParams("groupName", bidItemHistory.getGroupName());
		}
		if (Validator.isNotNull(bidItemHistory.getBidMode())) {
			param.setParams("bidMode", bidItemHistory.getBidMode());
		}
		if (Validator.isNotNull(bidItemHistory.getIfBidDyn())) {
			param.setParams("ifBidDyn", bidItemHistory.getIfBidDyn());
		}
		if (Validator.isNotNull(bidItemHistory.getItemNo())) {
			param.setParams("itemNo", bidItemHistory.getItemNo());
		}
		if (Validator.isNotNull(bidItemHistory.getItemName())) {
			param.setParams("itemName", " like '%" + bidItemHistory.getItemName() + "%' ");
		}
		if (Validator.isNotNull(bidItemHistory.getItemType())) {
			param.setParams("itemType", bidItemHistory.getItemType());
		}
		if (Validator.isNotNull(bidItemHistory.getItemTypeName())) {
			param.setParams("itemTypeName", bidItemHistory.getItemTypeName());
		}
		if (Validator.isNotNull(bidItemHistory.getItemSubname())) {
			param.setParams("itemSubname", bidItemHistory.getItemSubname());
		}
		if (Validator.isNotNull(bidItemHistory.getItemStatus())) {
			param.setParams("itemStatus", bidItemHistory.getItemStatus());
		}
		if (Validator.isNotNull(bidItemHistory.getItemNum())) {
			param.setParams("itemNum", bidItemHistory.getItemNum());
		}
		if (Validator.isNotNull(bidItemHistory.getItemNumDesc())) {
			param.setParams("itemNumDesc", bidItemHistory.getItemNumDesc());
		}
		if (Validator.isNotNull(bidItemHistory.getItemUnitName())) {
			param.setParams("itemUnitName", bidItemHistory.getItemUnitName());
		}
		if (Validator.isNotNull(bidItemHistory.getIncrementGroup())) {
			param.setParams("incrementGroup", bidItemHistory.getIncrementGroup());
		}
		if (Validator.isNotNull(bidItemHistory.getIncrementValue())) {
			param.setParams("incrementValue", bidItemHistory.getIncrementValue());
		}
		if (Validator.isNotNull(bidItemHistory.getFirstValuePre())) {
			param.setParams("firstValuePre", bidItemHistory.getFirstValuePre());
		}
		if (Validator.isNotNull(bidItemHistory.getOncevalue())) {
			param.setParams("oncevalue", bidItemHistory.getOncevalue());
		}
		if (Validator.isNotNull(bidItemHistory.getHoldvalue())) {
			param.setParams("holdvalue", bidItemHistory.getHoldvalue());
		}
		if (Validator.isNotNull(bidItemHistory.getHoldNoticeTime())) {
			param.setParams("holdNoticeTime", bidItemHistory.getHoldNoticeTime());
		}
		if (Validator.isNotNull(bidItemHistory.getDecimalCount())) {
			param.setParams("decimalCount", bidItemHistory.getDecimalCount());
		}
		if (Validator.isNotNull(bidItemHistory.getCurrency())) {
			param.setParams("currency", bidItemHistory.getCurrency());
		}
		if (Validator.isNotNull(bidItemHistory.getPriceUnit())) {
			param.setParams("priceUnit", bidItemHistory.getPriceUnit());
		}
		if (Validator.isNotNull(bidItemHistory.getAllowUpdateTimes())) {
			param.setParams("allowUpdateTimes", bidItemHistory.getAllowUpdateTimes());
		}
		if (Validator.isNotNull(bidItemHistory.getBidWay())) {
			param.setParams("bidWay", bidItemHistory.getBidWay());
		}
		if (Validator.isNotNull(bidItemHistory.getPriceFlag())) {
			param.setParams("priceFlag", bidItemHistory.getPriceFlag());
		}
		if (Validator.isNotNull(bidItemHistory.getFlagTime())) {
			param.setParams("flagTime", bidItemHistory.getFlagTime());
		}
		if (Validator.isNotNull(bidItemHistory.getBailPrice())) {
			param.setParams("bailPrice", bidItemHistory.getBailPrice());
		}
		if (Validator.isNotNull(bidItemHistory.getCreateTime())) {
			param.setParams("createTime", bidItemHistory.getCreateTime());
		}
		if (Validator.isNotNull(bidItemHistory.getAuditTime())) {
			param.setParams("auditTime", bidItemHistory.getAuditTime());
		}
		if (Validator.isNotNull(bidItemHistory.getOpenTimePre())) {
			param.setParams("openTimePre", bidItemHistory.getOpenTimePre());
		}
		if (Validator.isNotNull(bidItemHistory.getFirstBidTimePre())) {
			param.setParams("firstBidTimePre", bidItemHistory.getFirstBidTimePre());
		}
		if (Validator.isNotNull(bidItemHistory.getCloseTimePre())) {
			param.setParams("closeTimePre", bidItemHistory.getCloseTimePre());
		}
		if (Validator.isNotNull(bidItemHistory.getLimitTime())) {
			param.setParams("limitTime", bidItemHistory.getLimitTime());
		}
		if (Validator.isNotNull(bidItemHistory.getDelayControl())) {
			param.setParams("delayControl", bidItemHistory.getDelayControl());
		}
		if (Validator.isNotNull(bidItemHistory.getDelayUnit())) {
			param.setParams("delayUnit", bidItemHistory.getDelayUnit());
		}
		if (Validator.isNotNull(bidItemHistory.getDelayPeriod())) {
			param.setParams("delayPeriod", bidItemHistory.getDelayPeriod());
		}
		if (Validator.isNotNull(bidItemHistory.getDelayDeadTime())) {
			param.setParams("delayDeadTime", bidItemHistory.getDelayDeadTime());
		}
		if (Validator.isNotNull(bidItemHistory.getDelayPeriodMax())) {
			param.setParams("delayPeriodMax", bidItemHistory.getDelayPeriodMax());
		}
		if (Validator.isNotNull(bidItemHistory.getIfFee())) {
			param.setParams("ifFee", bidItemHistory.getIfFee());
		}
		if (Validator.isNotNull(bidItemHistory.getAllowFirstValue())) {
			param.setParams("allowFirstValue", bidItemHistory.getAllowFirstValue());
		}
		if (Validator.isNotNull(bidItemHistory.getAllowRepeat())) {
			param.setParams("allowRepeat", bidItemHistory.getAllowRepeat());
		}
		if (Validator.isNotNull(bidItemHistory.getAllowEndPrio())) {
			param.setParams("allowEndPrio", bidItemHistory.getAllowEndPrio());
		}
		if (Validator.isNotNull(bidItemHistory.getAllowHallPrio())) {
			param.setParams("allowHallPrio", bidItemHistory.getAllowHallPrio());
		}
		if (Validator.isNotNull(bidItemHistory.getAllowPrioTime())) {
			param.setParams("allowPrioTime", bidItemHistory.getAllowPrioTime());
		}
		if (Validator.isNotNull(bidItemHistory.getAllowAdd())) {
			param.setParams("allowAdd", bidItemHistory.getAllowAdd());
		}
		if (Validator.isNotNull(bidItemHistory.getAllowAddTime())) {
			param.setParams("allowAddTime", bidItemHistory.getAllowAddTime());
		}
		if (Validator.isNotNull(bidItemHistory.getPrioControl())) {
			param.setParams("prioControl", bidItemHistory.getPrioControl());
		}
		if (Validator.isNotNull(bidItemHistory.getEndPrioDays())) {
			param.setParams("endPrioDays", bidItemHistory.getEndPrioDays());
		}
		if (Validator.isNotNull(bidItemHistory.getBidInterval())) {
			param.setParams("bidInterval", bidItemHistory.getBidInterval());
		}
		if (Validator.isNotNull(bidItemHistory.getBidIntervalLimit())) {
			param.setParams("bidIntervalLimit", bidItemHistory.getBidIntervalLimit());
		}
		if (Validator.isNotNull(bidItemHistory.getIsPreview())) {
			param.setParams("isPreview", bidItemHistory.getIsPreview());
		}
		if (Validator.isNotNull(bidItemHistory.getItemSource())) {
			param.setParams("itemSource", bidItemHistory.getItemSource());
		}
		if (Validator.isNotNull(bidItemHistory.getItemBrand())) {
			param.setParams("itemBrand", bidItemHistory.getItemBrand());
		}
		if (Validator.isNotNull(bidItemHistory.getItemArea())) {
			param.setParams("itemArea", bidItemHistory.getItemArea());
		}
		if (Validator.isNotNull(bidItemHistory.getPackId())) {
			param.setParams("packId", bidItemHistory.getPackId());
		}
		if (Validator.isNotNull(bidItemHistory.getProId())) {
			param.setParams("proId", bidItemHistory.getProId());
		}
		if (Validator.isNotNull(bidItemHistory.getSysId())) {
			param.setParams("sysId", bidItemHistory.getSysId());
		}
		if (Validator.isNotNull(bidItemHistory.getPicUrl())) {
			param.setParams("picUrl", bidItemHistory.getPicUrl());
		}
		if (Validator.isNotNull(bidItemHistory.getPicUrlSmall())) {
			param.setParams("picUrlSmall", bidItemHistory.getPicUrlSmall());
		}
		if (Validator.isNotNull(bidItemHistory.getOrgEname())) {
			param.setParams("orgEname", bidItemHistory.getOrgEname());
		}
		if (Validator.isNotNull(bidItemHistory.getOrgCname())) {
			param.setParams("orgCname", bidItemHistory.getOrgCname());
		}
		if (Validator.isNotNull(bidItemHistory.getFallDecrement())) {
			param.setParams("fallDecrement", bidItemHistory.getFallDecrement());
		}
		if (Validator.isNotNull(bidItemHistory.getFallLimitTime())) {
			param.setParams("fallLimitTime", bidItemHistory.getFallLimitTime());
		}
		if (Validator.isNotNull(bidItemHistory.getFallLowerstPrice())) {
			param.setParams("fallLowerstPrice", bidItemHistory.getFallLowerstPrice());
		}
		if (Validator.isNotNull(bidItemHistory.getModifyTime())) {
			param.setParams("modifyTime", bidItemHistory.getModifyTime());
		}
		if (Validator.isNotNull(bidItemHistory.getNetBidKind())) {
			param.setParams("netBidKind", bidItemHistory.getNetBidKind());
		}
		if (Validator.isNotNull(bidItemHistory.getOrderNumber())) {
			param.setParams("orderNumber", bidItemHistory.getOrderNumber());
		}
		if (Validator.isNotNull(bidItemHistory.getTakeTime())) {
			param.setParams("takeTime", bidItemHistory.getTakeTime());
		}
		if (Validator.isNotNull(bidItemHistory.getMsgStatus())) {
			param.setParams("msgStatus", bidItemHistory.getMsgStatus());
		}
		if (Validator.isNotNull(bidItemHistory.getOverPrice())) {
			param.setParams("overPrice", bidItemHistory.getOverPrice());
		}
		if (Validator.isNotNull(bidItemHistory.getYjl())) {
			param.setParams("yjl", bidItemHistory.getYjl());
		}
		if (Validator.isNotNull(bidItemHistory.getOpenTime())) {
			param.setParams("openTime", bidItemHistory.getOpenTime());
		}
		if (Validator.isNotNull(bidItemHistory.getFirstValue())) {
			param.setParams("firstValue", bidItemHistory.getFirstValue());
		}
		if (Validator.isNotNull(bidItemHistory.getFirstBidTime())) {
			param.setParams("firstBidTime", bidItemHistory.getFirstBidTime());
		}
		if (Validator.isNotNull(bidItemHistory.getLastValue())) {
			param.setParams("lastValue", bidItemHistory.getLastValue());
		}
		if (Validator.isNotNull(bidItemHistory.getAmount())) {
			param.setParams("amount", bidItemHistory.getAmount());
		}
		if (Validator.isNotNull(bidItemHistory.getUserId())) {
			param.setParams("userId", bidItemHistory.getUserId());
		}
		if (Validator.isNotNull(bidItemHistory.getUserName())) {
			param.setParams("userName", bidItemHistory.getUserName());
		}
		if (Validator.isNotNull(bidItemHistory.getLastRightLevel())) {
			param.setParams("lastRightLevel", bidItemHistory.getLastRightLevel());
		}
		if (Validator.isNotNull(bidItemHistory.getBidTimes())) {
			param.setParams("bidTimes", bidItemHistory.getBidTimes());
		}
		if (Validator.isNotNull(bidItemHistory.getCloseTime())) {
			param.setParams("closeTime", bidItemHistory.getCloseTime());
		}
		if (Validator.isNotNull(bidItemHistory.getLastBidTime())) {
			param.setParams("lastBidTime", bidItemHistory.getLastBidTime());
		}
		if (Validator.isNotNull(bidItemHistory.getPauseTime())) {
			param.setParams("pauseTime", bidItemHistory.getPauseTime());
		}
		if (Validator.isNotNull(bidItemHistory.getDelayTimes())) {
			param.setParams("delayTimes", bidItemHistory.getDelayTimes());
		}
		if (Validator.isNotNull(bidItemHistory.getDelayEndFlag())) {
			param.setParams("delayEndFlag", bidItemHistory.getDelayEndFlag());
		}
		if (Validator.isNotNull(bidItemHistory.getIfAddPrice())) {
			param.setParams("ifAddPrice", bidItemHistory.getIfAddPrice());
		}
		if (Validator.isNotNull(bidItemHistory.getIfPrioFlag())) {
			param.setParams("ifPrioFlag", bidItemHistory.getIfPrioFlag());
		}
		if (Validator.isNotNull(bidItemHistory.getBidNum())) {
			param.setParams("bidNum", bidItemHistory.getBidNum());
		}
		if (Validator.isNotNull(bidItemHistory.getWeight())) {
			param.setParams("weight", bidItemHistory.getWeight());
		}
		if (Validator.isNotNull(bidItemHistory.getSpare1())) {
			param.setParams("spare1", bidItemHistory.getSpare1());
		}
		if (Validator.isNotNull(bidItemHistory.getSpare2())) {
			param.setParams("spare2", bidItemHistory.getSpare2());
		}
		if (Validator.isNotNull(bidItemHistory.getSpare3())) {
			param.setParams("spare3", bidItemHistory.getSpare3());
		}
		if (Validator.isNotNull(bidItemHistory.getSpare4())) {
			param.setParams("spare4", bidItemHistory.getSpare4());
		}
		if (Validator.isNotNull(bidItemHistory.getSpare5())) {
			param.setParams("spare5", bidItemHistory.getSpare5());
		}
		if (Validator.isNotNull(bidItemHistory.getIfRight())) {
			param.setParams("ifRight", bidItemHistory.getIfRight());
		}
		if (Validator.isNotNull(bidItemHistory.getvFlag())) {
			param.setParams("vFlag", bidItemHistory.getvFlag());
		}
		if (Validator.isNotNull(bidItemHistory.getDirection())) {
			param.setParams("direction", bidItemHistory.getDirection());
		}
	}

	public void setBidItemHistoryDao(IDao bidItemHistoryDao) {
		this.bidItemHistoryDao = bidItemHistoryDao;
	}
}
